package ar.com.age.distribuidora.presentacion.controller;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import org.primefaces.context.RequestContext;

import ar.com.age.distribuidora.dominio.Gerente;
import ar.com.age.distribuidora.dominio.Localidad;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@ManagedBean
@RequestScoped
public class RegistrarGerenteBean {

	private String nombre;
	
	private String apellido;
	
	private String codigo;
	
	private String contrasenia;
	
	private Localidad localidadSeleccionada;
	
	private List<Localidad> localidades;

	public RegistrarGerenteBean() {
		
		this.localidades = ServiceLocator.getLocalidadService().buscarTodos();
	}
	
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getContrasenia() {
		return contrasenia;
	}

	public void setContrasenia(String contrasenia) {
		this.contrasenia = contrasenia;
	}
	
	public List<Localidad> getLocalidades() {
		return localidades;
	}

	public void setLocalidades(List<Localidad> localidades) {
		this.localidades = localidades;
	}
	
	public Localidad getLocalidadSeleccionada() {
		return localidadSeleccionada;
	}

	public void setLocalidadSeleccionada(Localidad localidadSeleccionada) {
		this.localidadSeleccionada = localidadSeleccionada;
	}
	
	public String registrarGerente() {
		
		Gerente gerente = new Gerente();
		gerente.setApellido(apellido);
		gerente.setCodigo(codigo);
		gerente.setContrasenia(contrasenia);
		gerente.setEstado("Activo");
		gerente.setNombre(nombre);
		gerente.setLocalidad(this.localidadSeleccionada);
		
		ServiceLocator.getUsuarioService().crearOEditarGerente(gerente);
		
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "La operacion se ha realizado con exito.");  
		RequestContext.getCurrentInstance().showMessageInDialog(message);
		
		apellido = null;
		codigo = null;
		contrasenia = null;
		nombre = null;
		localidadSeleccionada = null;
		
		return null;
	}

}